package com.jeesite.modules.dp.service.stocktmp;

import java.util.List;

import com.jeesite.common.lang.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.alibaba.druid.support.json.JSONUtils;
import com.jeesite.common.entity.Page;
import com.jeesite.common.service.CrudService;
import com.jeesite.modules.dp.entity.stocktmp.DpTmpjson;
import com.jeesite.modules.dp.dao.stocktmp.DpTmpjsonDao;

/**
 * 选股模版管理Service
 * 
 * @author hancing.com
 * @version 2024-12-26
 */
@Service
public class DpTmpjsonService extends CrudService<DpTmpjsonDao, DpTmpjson> {

	/**
	 * 获取单条数据
	 * 
	 * @param dpTmpjson
	 * @return
	 */
	@Override
	public DpTmpjson get(DpTmpjson dpTmpjson) {
		return super.get(dpTmpjson);
	}

	/**
	 * 查询分页数据
	 * 
	 * @param dpTmpjson 查询条件
	 * @param dpTmpjson page 分页对象
	 * @return
	 */
	@Override
	public Page<DpTmpjson> findPage(DpTmpjson dpTmpjson) {
		return super.findPage(dpTmpjson);
	}

	/**
	 * 查询列表数据
	 * 
	 * @param dpTmpjson
	 * @return
	 */
	@Override
	public List<DpTmpjson> findList(DpTmpjson dpTmpjson) {
		return super.findList(dpTmpjson);
	}

	/**
	 * 保存数据（插入或更新）
	 * 
	 * @param dpTmpjson
	 */
	@Override
	@Transactional
	public void save(DpTmpjson dpTmpjson) {
		super.save(dpTmpjson);
	}

	/**
	 * 更新状态
	 * 
	 * @param dpTmpjson
	 */
	@Override
	@Transactional
	public void updateStatus(DpTmpjson dpTmpjson) {
		super.updateStatus(dpTmpjson);
	}

	/**
	 * 删除数据
	 * 
	 * @param dpTmpjson
	 */
	@Override
	@Transactional
	public void delete(DpTmpjson dpTmpjson) {
		super.delete(dpTmpjson);
	}

	/**
	 * 根据指标类型(量价指标、财务指标等)
	 * @param zbType 指标类型
	 * @return 查询结果
	 */
	public List<DpTmpjson> findZbList(String zbType) {
		DpTmpjson entity = new DpTmpjson();
		entity.setZbtype(zbType);
		entity.setIszb("1");
		entity.setIssys("1");
		List<DpTmpjson> list = findList(entity);
		list.removeIf(item-> StringUtils.isBlank(item.getZbtype()));
		return list;
	}

	/**
	 * 查询所有作为指标的模板
	 * @return
	 */
	public List<DpTmpjson> findAllZbList() {
		DpTmpjson entity = new DpTmpjson();
		entity.setIszb("1");
		entity.setIssys("1");
		List<DpTmpjson> list = findList(entity);
		list.removeIf(item-> StringUtils.isBlank(item.getZbtype()));
		return list;
	}
}